package com.xiguaji.tiktok.task.common.config;


import com.alibaba.nacos.api.config.annotation.NacosValue;
import lombok.Getter;
import org.springframework.stereotype.Component;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: luolifeng
 * Date: 2020-10-28 16:13
 */
@Component
@Getter
public class AppConfig {

    @NacosValue(value="${tiktok.task.query.latestDays:90}", autoRefreshed = true)
    int latestDays;

    /**
     * 采集评论数限制，表示最多采集多少条评论
     */
    @NacosValue(value="${tiktok.task.comment.collect.maxLimits:200}", autoRefreshed = true)
    private  int collectMaxComments;

    /**
     * 采集评论数限制，表示评论超过多少条才采集
     */
    @NacosValue(value="${tiktok.task.comment.collect.minLimits:50}", autoRefreshed = true)
    private  int collectMinComments;

    /**
     * 采集评论数限制，表示每增加多少条评论则采集评论
     */
    @NacosValue(value="${tiktok.task.comment.collect.step:100}", autoRefreshed = true)
    private  int collectStepComments;
    /**
     * 播主视频数达到多少才做播主分类
     */
    @NacosValue(value="${tiktok.task.blogger.type.awemes:10}", autoRefreshed = true)
    private  int awemes;
    /**
     * 日志打印时间要求
     */
    @NacosValue(value="${tiktok.task.logTime.debug.limit}", autoRefreshed = true)
    long debugTimeLimit;

    /**
     * 消息重发最大次数
     */
    @NacosValue(value="${tiktok.task.message.comment.retry:1}", autoRefreshed = true)
    int retryCommentTimes;


    /**
     * 消息重发最大次数
     */
    @NacosValue(value="${tiktok.task.message.comment.top.retry:3}", autoRefreshed = true)
    int retryCommentTopTimes;
    /**
     * 消息重发最大次数
     */
    @NacosValue(value="${tiktok.task.message.blogger.retry:3}", autoRefreshed = true)
    int retryBloggerTimes;

    /**
     * 消息重发最大次数
     */
    @NacosValue(value="${tiktok.task.message.keyword.retry:5}", autoRefreshed = true)
    int retryKeywordTimes;

    /**
     * 消息重发最大次数
     */
    @NacosValue(value="${tiktok.task.message.music.retry:1}", autoRefreshed = true)
    int retryMusicTimes;
    /**
     * 消息重发最大次数
     */
    @NacosValue(value="${tiktok.task.message.market.retry:3}", autoRefreshed = true)
    int retryMarketTimes;
    /**
     * 消息重发最大次数
     */
    @NacosValue(value="${tiktok.task.message.hashtag.retry:1}", autoRefreshed = true)
    int retryHashtagTimes;

    /**
     * 粉丝画像消息重发最大次数
     */
    @NacosValue(value="${tiktok.task.message.fansportrait.retry:1}", autoRefreshed = true)
    int retryFansPortraitTimes;

    /**
     * 推荐流收录播主的粉丝数量条件
     */
    @NacosValue(value="${tiktok.task.blogger.collect.followerCount:10000}", autoRefreshed = true)
    int collectFollowerCount;
    /**
     * 从推荐流识别的播主转移到bloggerMain的粉丝数量条件
     */
    @NacosValue(value="${tiktok.task.blogger.sysCollect.followerCount:100000}", autoRefreshed = true)
    int sysCollectFollowerCount;

    /**
     * 评论、视频、播主采集更新后，24小时内不再更新,单位小时
     */
    @NacosValue(value="${tiktok.task.common.sysCollect.intervals:24}", autoRefreshed = true)
    int intervalHours;


    /**
     * 博主粉丝画像更新时间间隔
     */
    @NacosValue(value="${tiktok.task.fans.portrait.intervals:168}", autoRefreshed = true)
    int intervalHoursFansPortrait;
    /**
     * 视频分类间隔要求，48小时内不再更新,单位小时
     */
    @NacosValue(value="${tiktok.task.aweme.sysCollect.intervals:72}", autoRefreshed = true)
    int awemeTypeIntervalHours;
    /**
     * 粉丝画像间隔要求，72小时内不再更新,单位小时
     */
    @NacosValue(value="${tiktok.task.fansPortrait.sysCollect.intervals:72}", autoRefreshed = true)
    int fansPortraitIntervalHours;
    /**
     * 粉丝画像性别、年龄分析残缺率，小于残缺率不更新
     */
    @NacosValue(value="${tiktok.task.fansPortrait.sysCollect.disabilityRate:20}", autoRefreshed = true)
    int fansPortraitDisabilityRate;
}
